home *** CD-ROM | disk | FTP | other *** search
-
-
-
- DC User Commands DC
-
-
-
- NNAAMMEE
- dc - desk calculator
-
- SSYYNNOOPPSSIISS
- ddcc [ file ]
-
- DDEESSCCRRIIPPTTIIOONN
- _D_c is an arbitrary precision arithmetic package. Ordinarily
- it operates on decimal integers, but one may specify an
- input base, output base, and a number of fractional digits
- to be maintained. The overall structure of _d_c is a stacking
- (reverse Polish) calculator. If an argument is given, input
- is taken from that file until its end, then from the stan-
- dard input. The following constructions are recognized:
-
- number
- The value of the number is pushed on the stack. A
- number is an unbroken string of the digits 0-9. It
- may be preceded by an underscore _ to input a negative
- number. Numbers may contain decimal points.
-
- + - / * % ^
- The top two values on the stack are added (+), sub-
- tracted (-), multiplied (*), divided (/), remaindered
- (%), or exponentiated (^). The two entries are popped
- off the stack; the result is pushed on the stack in
- their place. Any fractional part of an exponent is
- ignored.
-
- ss_x The top of the stack is popped and stored into a
- register named _x, where _x may be any character. If
- the ss is capitalized, _x is treated as a stack and the
- value is pushed on it.
-
- ll_x The value in register _x is pushed on the stack. The
- register _x is not altered. All registers start with
- zero value. If the ll is capitalized, register _x is
- treated as a stack and its top value is popped onto
- the main stack.
-
- dd The top value on the stack is duplicated.
-
- pp The top value on the stack is printed. The top value
- remains unchanged. PP interprets the top of the stack
- as an ascii string, removes it, and prints it.
-
- ff All values on the stack and in registers are printed.
-
- qq exits the program. If executing a string, the recur-
- sion level is popped by two. If qq is capitalized, the
- top value on the stack is popped and the string execu-
- tion level is popped by that value.
-
-
-
- Sprite v1.0 April 29, 1985 1
-
-
-
-
-
-
- DC User Commands DC
-
-
-
- xx treats the top element of the stack as a character
- string and executes it as a string of dc commands.
-
- XX replaces the number on the top of the stack with its
- scale factor.
-
- [[ ...... ]]
- puts the bracketed ascii string onto the top of the
- stack.
-
- <_x >_x =_x
- The top two elements of the stack are popped and com-
- pared. Register _x is executed if they obey the stated
- relation.
-
- vv replaces the top element on the stack by its square
- root. Any existing fractional part of the argument is
- taken into account, but otherwise the scale factor is
- ignored.
-
- !! interprets the rest of the line as a UNIX command.
-
- cc All values on the stack are popped.
-
- ii The top value on the stack is popped and used as the
- number radix for further input. II pushes the input
- base on the top of the stack.
-
- oo The top value on the stack is popped and used as the
- number radix for further output.
-
- OO pushes the output base on the top of the stack.
-
- kk the top of the stack is popped, and that value is used
- as a non-negative scale factor: the appropriate number
- of places are printed on output, and maintained during
- multiplication, division, and exponentiation. The
- interaction of scale factor, input base, and output
- base will be reasonable if all are changed together.
-
- zz The stack level is pushed onto the stack.
-
- ZZ replaces the number on the top of the stack with its
- length.
-
- ?? A line of input is taken from the input source (usu-
- ally the terminal) and executed.
-
- ;; :: are used by _b_c for array operations.
-
- An example which prints the first ten values of n! is
-
-
-
-
- Sprite v1.0 April 29, 1985 2
-
-
-
-
-
-
- DC User Commands DC
-
-
-
- [la1+dsa*pla10>y]sy
- 0sa1
- lyx
-
- SSEEEE AALLSSOO
- bc(1), which is a preprocessor for _d_c providing infix nota-
- tion and a C-like syntax which implements functions and rea-
- sonable control structures for programs.
-
- DDIIAAGGNNOOSSTTIICCSS
- `x is unimplemented' where x is an octal number.
- `stack empty' for not enough elements on the stack to do
- what was asked.
- `Out of space' when the free list is exhausted (too many
- digits).
- `Out of headers' for too many numbers being kept around.
- `Out of pushdown' for too many items on the stack.
- `Nesting Depth' for too many levels of nested execution.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Sprite v1.0 April 29, 1985 3
-
-
-
-